using System;

namespace UserLoginRegister
{
    /// <summary>
    /// 用户实体类（仅包含字段、属性、构造函数）
    /// </summary>
    public class User
    {
        // 私有字段
        private string _username;
        private string _password;
        private string _email;

        // 公共属性（提供访问控制）
        public string Username
        {
            get => _username;
            set => _username = string.IsNullOrWhiteSpace(value) ? throw new ArgumentException("用户名不能为空！") : value;
        }

        public string Password
        {
            get => _password;
            set => _password = string.IsNullOrWhiteSpace(value) ? throw new ArgumentException("密码不能为空！") : value;
        }

        public string Email
        {
            get => _email;
            set => _email = string.IsNullOrWhiteSpace(value) ? throw new ArgumentException("邮箱不能为空！") : value;
        }

        // 构造函数（初始化用户信息）
        public User(string username, string password, string email)
        {
            Username = username; // 调用属性的 setter 触发校验
            Password = password;
            Email = email;
        }
    }
}